﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Web;
//using System.Web.Mvc;
//using FONCREAGROINTEGRAL.Models;

//namespace FONCREAGROINTEGRAL.Controllers
//{
//    public class componenteController : Controller
//    {
//        public SistIntFoncreagroEntities entidades = new SistIntFoncreagroEntities();

//        //
//        // GET: /componente/

//        public ActionResult IndexById(int id)
//        {
//            var query = entidades.INVENTARIOs.Where(inv => inv.IdInventario == id);
//            var result = (from inv in query.OrderBy(inv => inv.DescripcionProducto)
//                          join cat in entidades.CATALOGOes on inv.IdCatalogo equals cat.IdCatalogo
//                          join m in entidades.MARCAs on inv.IdMarca equals m.IdMarca into lm
//                          from y in lm.DefaultIfEmpty()
//                          join edi in entidades.ESTADODELINVENTARIOs on inv.IdInventario equals edi.IdInventario
//                          where edi.Vigente == true
//                          join ei in entidades.ESTADOINVENTARIOs on edi.IdEstadoInventario equals ei.IdEstadoInventario
//                          select new
//                          {
//                              IdInventario = inv.IdInventario,
//                              Catalogo = cat.Descripcion,
//                              IdCatalogo = inv.IdCatalogo,
//                              DescripcionProducto = inv.DescripcionProducto,
//                              IdMarca = inv.IdMarca,
//                              NomMarca = (y == null ? String.Empty : y.Descripcion),
//                              Codigo = inv.Codigo,
//                              Serie = inv.Serie,
//                              Observacion = inv.Observacion,
//                              Cantidad = inv.Cantidad,
//                              IdInventarioPadre = inv.IdInventarioPadre,
//                              inv.Validado,
//                              IdEstadoDelInventario = edi.IdEstadoDelInventario,
//                              NomEstado = ei.NomEstado,
//                              IdEstadoInventario = ei.IdEstadoInventario,
//                          }).ToList();
//            return Json(new { grid = result, total = query.Count() }, JsonRequestBehavior.AllowGet);
//        }        
//        //
//        // GET: /componente/

//        public ActionResult IndexByParent(int id)
//        {
//            string componente = Convert.ToString(Request.QueryString["query"]);

//            var query = entidades.INVENTARIOs.Where(inv => inv.IdInventarioPadre == id);

//            if (!String.IsNullOrEmpty(componente))
//            {
//                query = query.Where(cs => cs.DescripcionProducto.ToUpper().Contains(componente.ToUpper()));
//            }

//            var result = (from inv in query.OrderBy(inv => inv.DescripcionProducto)
//                          join cat in entidades.CATALOGOes on inv.IdCatalogo equals cat.IdCatalogo
//                          join m in entidades.MARCAs on inv.IdMarca equals m.IdMarca into lm
//                          from y in lm.DefaultIfEmpty()
//                          join edi in entidades.ESTADODELINVENTARIOs on inv.IdInventario equals edi.IdInventario
//                          where edi.Vigente == true
//                          join ei in entidades.ESTADOINVENTARIOs on edi.IdEstadoInventario equals ei.IdEstadoInventario
//                          select new
//                          {
//                              IdInventario = inv.IdInventario,
//                              Catalogo = cat.Descripcion,
//                              IdCatalogo = inv.IdCatalogo,
//                              DescripcionProducto = inv.DescripcionProducto,
//                              IdMarca = inv.IdMarca,
//                              NomMarca = (y == null ? String.Empty : y.Descripcion),
//                              Codigo = inv.Codigo,
//                              Serie = inv.Serie,
//                              Observacion = inv.Observacion,
//                              Cantidad = inv.Cantidad,
//                              IdInventarioPadre = inv.IdInventarioPadre,
//                              inv.Validado,
//                              IdEstadoDelInventario = edi.IdEstadoDelInventario,
//                              NomEstado = ei.NomEstado,
//                              IdEstadoInventario = ei.IdEstadoInventario,
//                          }).ToList();
//            return Json(new { grid = result, total = query.Count() }, JsonRequestBehavior.AllowGet);
//        }

//        //
//        // GET: /componente/Details/5

//        public ActionResult Details(int id)
//        {
//            return View();
//        }

//        //
//        // GET: /componente/Create

//        //public ActionResult Create()
//        //{
//        //    return View();
//        //}

//        //
//        // POST: /componente/Create

//        [HttpPost]
//        public ActionResult Create(FormCollection collection)
//        {
//            int IdEstadoInventario = Convert.ToInt32(Request.Form["IdEstadoInventario"]);
//            string strResponse = String.Empty;
//            try
//            {
//                // TODO: Add insert logic here
//                var cCompInv = new INVENTARIO();
//                if (ModelState.IsValid)
//                {
//                    TryUpdateModel(cCompInv, collection.ToValueProvider());
//                    entidades.AddToINVENTARIOs(cCompInv);
//                    entidades.SaveChanges();

//                    entidades.INVInsertEstadoInventario(cCompInv.IdInventario, DateTime.Now, IdEstadoInventario);

//                    strResponse = "{success: true,msg:'Registro Creado Correctamente'}";
//                    return Content(strResponse);
//                }
//                strResponse = "{success: false,msg:'Fallo en la Creación'}";
//                return Content(strResponse);
//            }
//            catch
//            {
//                strResponse = "{success: false,msg:'Fallo en la Creación'}";
//                return Content(strResponse);
//            }
//        }
        
//        //
//        // GET: /componente/Edit/5
 
//        //public ActionResult Edit(int id)
//        //{
//        //    return View();
//        //}

//        //
//        // POST: /componente/Edit/5

//        [HttpPost]
//        public ActionResult Edit(int id, FormCollection collection)
//        {
//            string strResponse = String.Empty;

//            //int IdUbicacion = Convert.ToInt32(Request.Form["IdUbicacion"]);

//            int IdUsuario = Convert.ToInt32(Session["IdPersonal"].ToString());
//            int IdEstadoInventario = Convert.ToInt32(Request.Form["IdEstadoInventario"]);
//            //parametros Plan
//            int IdEstadoDelInventario = Convert.ToInt32(Request.Form["IdEstadoDelInventario"]);

//            var eInv = entidades.INVENTARIOs.Single(p => p.IdInventario == id);
//            try
//            {
//                // TODO: Add update logic here
//                if (ModelState.IsValid)
//                {
//                    TryUpdateModel(eInv);
//                    eInv.Usuario = IdUsuario;
//                    //Sacar Cuenta A la que pertenece el Inventario
//                    //Sacamos UIT
//                    entidades.SaveChanges();
//                    //entidades.INVEditResponsable(IdResponsableInventario, IdPersonal);
//                    entidades.INVEditEstadoInventario(IdEstadoDelInventario, IdEstadoInventario);
//                    //entidades.INVEditDepreciacion(IdDepreciacion, Costo);

//                    strResponse = "{success: true,msg:'Registro Creado Correctamente'}";
//                    return Content(strResponse);

//                }
//                strResponse = "{success: false,msg:'Fallo en la Creación'}";
//                return Content(strResponse);
//            }
//            catch
//            {
//                return View();
//            }
//        }

//        //
//        // GET: /componente/Delete/5
 
//        public ActionResult Delete(int id)
//        {
//            return View();
//        }

//        //
//        // POST: /componente/Delete/5

//        [HttpPost]
//        public ActionResult Delete(int id, FormCollection collection)
//        {
//            try
//            {
//                // TODO: Add delete logic here
 
//                return RedirectToAction("Index");
//            }
//            catch
//            {
//                return View();
//            }
//        }
//    }
//}
